package com.dove.task;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

//cron表达式范例：
//每隔5秒执行一次：*/5 * * * * ?
//每隔1分钟执行一次：0 */1 * * * ?
//每天23点执行一次：0 0 23 * * ?
//每天凌晨1点执行一次：0 0 1 * * ?
//每月1号凌晨1点执行一次：0 0 1 1 * ?
//每月最后一天23点执行一次：0 0 23 L * ?
//每周星期天凌晨1点实行一次：0 0 1 ? * L
//在26分、29分、33分执行一次：0 26,29,33 * * * ?

/**
 * https://www.cnblogs.com/mmzs/p/10161936.html
 * 
 * @description 定时器
 * @author 创建人:dxw
 * @date 时间：2021年6月14日-下午7:48:21
 * @version 1.0.0
 *
 */
@Component
@EnableScheduling // 1.开启定时任务
@EnableAsync // 2.开启多线程
public class DefAsyncTimerTask {

	private Logger logger = LoggerFactory.getLogger(this.getClass());

	@Async
	@Scheduled(cron = "${my.cron}") // 改为每月22号零点1分执行
	public void ledgerPayTask() {
		logger.info("ledgerPayTask start!");
		logger.info("${my.cron}");
		
		logger.info("ledgerPayTask end!");

	}

}
